-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

FreeBSD-EN-05:04.nfs                                           Errata Notice
                                                         The FreeBSD Project

Topic:          NFS Client may panic when encounted errors

Category:       core
Module:         nfsclient
Announced:      2005-12-19
Credits:        Mohan Srinivasan, Xin LI
Affects:        FreeBSD 6.0-RELEASE
Corrected:      2005-12-19 10:58:58 UTC

I.   Background

The Network File System (NFS) allows a system to share directories and files
with others over a network.  By using this, users and programs can access
files on remote systems almost as if they were local files.

II.  Problem Description

Due to a locking issue in nfs_lookup() a call to vrele() might be made
while holding the vnode mutex, which results in kernel panic when doing
VFS operations under certain load patterns.

III. Impact

NFS clients that encountered the load pattern would crash and reboot.

IV.   Solution

Do one of the following to update the source tree:

 1) Upgrade your affected system to the RELENG_6_0 errata branch dated
    after the correction date using cvsup(1) or cvs(1).  This is the
    preferred method.

 2) Obtain the updated files using the cvsweb interface.  Cvsweb is a
    Web interface to the CVS repository.  The URL to the general
    interface is "http://cvsweb.freebsd.org/".  You can obtain any of
    the source files for the RELENG_6_0 branch by going to the src
    directory ("http://cvsweb.freebsd.org/src") and then selecting
    the "RELENG_6_0" branch tag.  With the branch tag set navigate
    to the files listed below in the "Correction details" section and
    download them, making sure you get the correct revision numbers.
    Copy the downloaded files into your /usr/src tree.

If using the second procedure you should make sure you have used that
same procedure to download all previous Errata Notices and Security
Advisories.  We strongly discourage this procedure due to the problems
that may be caused by not doing that - using the first procedure takes
care of making sure all updates get applied.

Then follow the normal procedures for rebuilding/reinstalling the kernel.
Details about rebuilding/reinstalling are available here:

 http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig.html

V.  Correction details

The following list contains the revision numbers of each file that was
corrected in FreeBSD.

- ---------------------------------------------------------------------------
RELENG_6_0

  Revision       Changes    Path
  1.416.2.3.2.6  +5 -0      src/UPDATING
  1.69.2.8.2.2   +1 -1      src/sys/conf/newvers.sh
  1.258.4.1      +1 -1      src/sys/nfsclient/nfs_vnops.c

- ---------------------------------------------------------------------------

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2 (FreeBSD)

iD8DBQFDujwhFdaIBMps37IRAiPOAKCC9BmZhzFEBm6/kzKMDpZVXk7X/QCfTmsY
kHH+tM9KBV1Vau80d0G3vk4=
=UvNX
-----END PGP SIGNATURE-----
